package com.ruoyi.market.domain;

import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.math.BigDecimal;

/**
 * 店铺订单配置对象 configOrder
 *
 * @author ruoyi
 */
public class ConfigOrder extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /* 店铺ID */
    private String shopId;

    // 允许跨级抢单
    private String statusBeyond;

    // 同时接单限制
    private int maxOrderNum;

    // 是否开启排除下单
    private String statusExcludeOrder;

    // 开启退款原路退回 Y-是 N-否 默认 N
    private String statusRefund;

    // 订单超时提醒
    private int statusOvertimeNotice;

    // 订单超时取消
    private int statusOvertimeCancel;

    // 开启夜间订单 开启夜间订单 Y-是 N-否 默认 N
    private String statusNightOrder;

    // 夜间开始时间
    private String nightOrderStart;

    // 夜间结束时间
    private String nightOrderEnd;

    // 夜间订单价格倍数
    private int nightOrderRate;

    // 开启节日订单 开启节日订单 Y-是 N-否 默认 N
    private String statusFestivalOrder;

    // 节日订单价格倍数
    private int festivalOrderRate;

    public ConfigOrder() {

    }

    public ConfigOrder(String shopId) {
        this.shopId = shopId;
    }

    @NotBlank(message = "店铺ID不能为空")
    public String getShopId() {
        return shopId;
    }

    public void setShopId(String shopId) {
        this.shopId = shopId;
    }

    public String getStatusBeyond() {
        return statusBeyond;
    }

    public void setStatusBeyond(String statusBeyond) {
        this.statusBeyond = statusBeyond;
    }

    public String getStatusExcludeOrder() {
        return statusExcludeOrder;
    }

    public void setStatusExcludeOrder(String statusExcludeOrder) {
        this.statusExcludeOrder = statusExcludeOrder;
    }

    public int getMaxOrderNum() {
        return maxOrderNum;
    }

    public void setMaxOrderNum(int maxOrderNum) {
        this.maxOrderNum = maxOrderNum;
    }

    public int getStatusOvertimeNotice() {
        return statusOvertimeNotice;
    }

    public void setStatusOvertimeNotice(int statusOvertimeNotice) {
        this.statusOvertimeNotice = statusOvertimeNotice;
    }

    public int getStatusOvertimeCancel() {
        return statusOvertimeCancel;
    }

    public void setStatusOvertimeCancel(int statusOvertimeCancel) {
        this.statusOvertimeCancel = statusOvertimeCancel;
    }

    public String getStatusRefund() {
        return statusRefund;
    }

    public void setStatusRefund(String statusRefund) {
        this.statusRefund = statusRefund;
    }

    public String getStatusNightOrder() {
        return statusNightOrder;
    }

    public void setStatusNightOrder(String statusNightOrder) {
        this.statusNightOrder = statusNightOrder;
    }

    public String getStatusFestivalOrder() {
        return statusFestivalOrder;
    }

    public void setStatusFestivalOrder(String statusFestivalOrder) {
        this.statusFestivalOrder = statusFestivalOrder;
    }

    public String getNightOrderStart() {
        return nightOrderStart;
    }

    public void setNightOrderStart(String nightOrderStart) {
        this.nightOrderStart = nightOrderStart;
    }

    public String getNightOrderEnd() {
        return nightOrderEnd;
    }

    public void setNightOrderEnd(String nightOrderEnd) {
        this.nightOrderEnd = nightOrderEnd;
    }

    public int getNightOrderRate() {
        return nightOrderRate;
    }

    public void setNightOrderRate(int nightOrderRate) {
        this.nightOrderRate = nightOrderRate;
    }

    public int getFestivalOrderRate() {
        return festivalOrderRate;
    }

    public void setFestivalOrderRate(int festivalOrderRate) {
        this.festivalOrderRate = festivalOrderRate;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("shopId", getShopId())
                .append("maxOrderNum", getMaxOrderNum())
                .append("statusExcludeOrder", getStatusExcludeOrder())
                .append("statusBeyond", getStatusBeyond())
                .append("statusRefund", getStatusRefund())
                .append("statusOvertimeNotice", getStatusOvertimeNotice())
                .append("statusOvertimeCancel", getStatusOvertimeCancel())
                .append("statusNightOrder", getStatusNightOrder())
                .append("statusFestivalOrder", getStatusFestivalOrder())
                .append("nightOrderStart", getNightOrderStart())
                .append("nightOrderEnd", getNightOrderEnd())
                .append("nightOrderRate", getNightOrderRate())
                .append("festivalOrderRate", getFestivalOrderRate())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .toString();
    }
}
